package com.sy.olddriver.service;

import com.sy.olddriver.dto.Result;
import com.sy.olddriver.vo.RegistParam;

/**
 * 用户操作相关的业务逻辑类
 *
 * @author Administrator
 */
public interface UserService {
    /**
     * 根据用户名查询用户对象
     *
     * @param userName 要查询的用户名
     * @return 查询业务处理后的结果
     */
    Result getUserByUserName(String userName);

    /**
     * 根据手机号查询用户对象
     *
     * @param phone 要查询的手机号
     * @return 查询业务处理后的结果
     */
    Result getUserByPhone(String phone);


    /**
     * 注册操作
     *
     * @param registParam     前端传过来的注册的用户信息
     * @param corValidateCode 发送到手机的正确的验证码的值
     * @return 注册操作的业务处理结果
     */
    Result regist(RegistParam registParam, String corValidateCode);

    /**
     * 登录操作
     *
     * @param userName 登录时的用户名
     * @param userPwd  登录时的密码
     * @return 登录操作业务处理的结果
     */
    Result login(String userName, String userPwd);


    /**
     * 用于更新用户的信息
     *
     * @param content    要更新进去的值
     * @param updateType 更新的类型 0-名字 1-手机号 2-密码 3-签名 4-爱好 5-地址
     * @param userId     当前登录用户的id
     * @return 更新操作的具体操作结果
     */
    Result updateUser(String content, String updateType, Integer userId);


    /**
     * 获取用户信息
     *
     * @param userId 用户id
     * @return 获取用户信息的操作结果
     */
    Result getUserInfo(Integer userId);
}
